home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Technology Seed / ADC Seed CD - July 1999.toast / Carbon SDK 1.0d10c3 / Sample Code / AppearanceSample / PPCGlue.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-01  |  1.2 KB  |  52 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        PPCGlue.c
  3.  
  4.     Contains:    Glue necessary to call AppendDialogItemList.
  5.  
  6.     Version:    Appearance 1.0 SDK
  7.  
  8.     Copyright:    © 1997 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     File Ownership:
  11.  
  12.         DRI:                Edward Voas
  13.  
  14.         Other Contact:        7 of 9, Borg Collective
  15.  
  16.         Technology:            OS Technologies Group
  17.  
  18.     Writers:
  19.  
  20.         (edv)    Ed Voas
  21.  
  22.     Change History (most recent first):
  23.  
  24.          <1>     9/11/97    edv        First checked in.
  25. */
  26.  
  27. #include "AppearanceSamplePrefix.h"
  28.  
  29. #include "AppearanceHelpers.h"
  30.  
  31. #define RESULT_OFFSET(type) ((sizeof(type) == 1) ? 3 : ((sizeof(type) == 2) ? 1 : 0))
  32.  
  33. pascal OSErr
  34. AppendDialogItemList( DialogPtr dialog, SInt16 ditlID, DITLMethod method )
  35. {
  36.     long    private_result;
  37.     
  38.     private_result = CallUniversalProc((UniversalProcPtr)GetToolTrapAddress(0xAA68),
  39.         kD0DispatchedPascalStackBased
  40.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  41.          | DISPATCHED_STACK_ROUTINE_SELECTOR_SIZE(kTwoByteCode)
  42.          | DISPATCHED_STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(dialog)))
  43.          | DISPATCHED_STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ditlID)))
  44.          | DISPATCHED_STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(method))),
  45.         0x0412,
  46.         dialog,
  47.         ditlID,
  48.         method );
  49.         
  50.     return *(((OSErr*)&private_result) + RESULT_OFFSET(OSErr));
  51. }
  52.